package cn.stream;

import java.util.ArrayList;
import java.util.stream.Stream;

/**
 * @author: lizemin
 * @version: 1.0
 */
public class StreamTest {
    //这是一个main方法,是程序的入口
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<String>();
        list.add("林青霞");
        list.add("张曼玉");
        list.add("王祖贤");
        list.add("柳岩");
        list.add("张敏");
        list.add("张无忌");

        //需求1：把list集合中以张开头的元素在控制台输出
        Stream<String> stream = list.stream();
        System.out.println(stream);
        stream.filter((s -> s.startsWith("张"))).forEach(System.out::println);

        //需求1：取前3个数据在控制台输出
        Stream<String> stream3 = stream.skip(2);
        Stream<String> stream2 = stream.limit(3);

        //需求3：合并需求1和需求2得到的流，并把结果在控制台输出,得到8个数据
//        Stream.concat(stream3,stream2).forEach(System.out::println);
        //stream has already been operated upon or closed和线程安全有关。


    }
}
